

# from langchain_core.prompts import PromptTemplate
# from langchain_openai import ChatOpenAI
# from dotenv import load_dotenv
# import os
#
# load_dotenv()
#
# # 原始字符串模板
# template = "桌上有{number}个苹果，四个桃子和 3 本书，一共有几个水果?"
# prompt = PromptTemplate.from_template(template)
#
# # 创建模型实例
# llm = ChatOpenAI(api_key=os.getenv("api_key"),
#                  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
#                  model='qwen-plus',
#                  temperature=0)
#
# # 创建Chain
# chain = prompt | llm
#
# # 调用Chain，返回结果
# result = chain.invoke({"number": "3"})
# print(result)


# 指定关键字参数

# from langchain.chains.llm import LLMChain
# from langchain_core.prompts import PromptTemplate
# from langchain_openai import ChatOpenAI
# from dotenv import load_dotenv
# import os
#
# load_dotenv()
#
# # 创建模型实例
# template = "桌上有{number}个苹果，四个桃子和 3 本书，一共有几个水果?"
# prompt = PromptTemplate(template=template, input_variables=["number"])
#
# # 创建模型实例
# llm = ChatOpenAI(api_key=os.getenv("api_key"),
#                  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
#                  model='qwen-plus',
#                  temperature=0)
# # 创建LLMChain    0.1.17 开始被标记为弃用，并计划在未来的 1.0 版本中移除
# llm_chain = LLMChain(llm=llm, prompt=prompt)
# # 调用LLMChain，返回结果  指定关键字参数的方式进行传递
# result = llm_chain.predict(number=3)
# print(result)


# 链调用  batch方法
from langchain.chains.llm import LLMChain
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os

load_dotenv()


# 创建模型实例
template = PromptTemplate(
    input_variables=["role", "fruit"],
    template="{role}喜欢吃{fruit}?",
)

# 创建LLM
llm = ChatOpenAI(api_key=os.getenv("api_key"),
                 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
                 model='qwen-plus',
                 temperature=0)

# 创建LLMChain     0.1.17 开始被标记为弃用，并计划在未来的 1.0 版本中移除
# llm_chain = LLMChain(llm=llm, prompt=template)
llm_chain = template | llm

# 输入列表
input_list = [
    {"role": "猪八戒", "fruit": "人参果"}, {"role": "孙悟空", "fruit": "仙桃"}
]

# 调用LLMChain，返回结果  apply
result = llm_chain.batch(input_list)
print(result)
print(result[0].content)
print(result[1].content)
